1. Field of the invention
The present invention relates to a communication method of the client and server type applications utilizing the network. Particularly, the present invention relates to the communication method to have a good response time.
2. Description of the Related Art
The wireless mobile devices such as cellular phone have become widespread in the recent years. The wireless communication functions are equipped to the mobile computers and the mobile information devices which are commonly known as PDAs (personal digital assistants). On the other hand, the network cannot be taken out of consideration upon designing the computer system, since the internet is becoming very popular. The client and server type applications are mostly being utilized on the network. To give some examples of the client and server type applications, there are the WWW (world wide web) which supplies information on the internet and the database usage on the internet.
For the most of client and server type applications, the client program and server program are in connected status via the network. The connected status is secured by the connection type communication protocol such as TCP (transmission control protocol). The connection type communication protocol transfers a data under the connected status. Since the client program and the server program transfer and receive the data with one another, they both must be equipped with a data transfer control unit specialized for transmitting and receiving the data. By utilizing the communication mechanisms of the lower level, each data transfer control unit transmits and receives a data handed over from the upper level, checks the contents of the data (i.e., checks for data errors due to noises), and controls retransmitting of the data if an error has occurred.
The connection type communication protocol confirms whether the data is transferred without problems. In order to do so, when a data receiving side program receives a data, it checks that the data contents has no errors, and then it returns an ACK message t o a data transmitting side program. The data transmitting side program will k now the receiving status of the data receiving side program from this ACK message. In other words, the data transfer is managed by the ACK message. However, the ACK message transmission becomes a burden if utilizing a communication environment where the transmitting rate and the receiving rate are non-symmetrical, and if the communication i s high latency. The disadvantage resulting from these were that a desirable transferring rate could not have been achieved. This tendency becomes more prominent especially if the communication route in use is high latency and if the mobile communication has low transferring rate.
U.S. Pat. No. 5,673,322 discloses a technique to operate the browser application , which utilizes the TCP/IP as a communication protocol, when using a mobile terminal in the wireless communication. The technique places a proxy server on the mobile terminal (referred to as local proxy hereafter). Another proxy server is placed in between the mobile terminal and the WEB server (referred to as remote proxy hereafter). The local proxy emulates the TCP/IP socket to keep a compatibility with the browser program such as Netscape. The remote proxy and the WEB server are connected by the TCP/IP. The local proxy and the remote proxy are connected by a specialized communication protocol which is suitable for the wireless communication and is secure, making it possible to attain a high communication rate even if using the wireless communication which normally has a low transferring rate. This communication rate is higher than the case of using the TCP/IP to all of the routes as it is.
The method of placing the proxies in between the client program and the server program for accessing is widely being adopted. For example, the method is adopted in the cases of accessing to the database via WEB-CGI server, and the cases of accessing from the network protected by the firewall to the internet.
U.S. Pat. No. 5,442,633 discloses a technique to optimize the IP routing information for the cases of IP connection from the wireless terminal to the network. The IP is a communication protocol which is used in sending the data packets in the internet and LAN, and transferring route of the data packets are determined based on the routing information of the packets which are normally fixed. However, the mobile terminal of course moves around such that the fixed routing will not be appropriate for the mobile terminal. According to the disclosed technique, it attaches a property to IP data packet, the property in which makes the fixed routing information on the IP data packet invalid, and then reconstructs the routing information at the first IP connecting node which is to be connected by the mobile terminal. A suitable data transferring route is obtained this way.
The problems are a decline in the communication transferring rate and an increase in the communication latency. The problems are caused by using the communication media with high latency and the communication media having low transferring rate (for example, the wireless communication), the increase in the number of interim nodes in the communication route, and the increase in the physical distance of the communication route. According to one aspect of the present invention, it attempts to solve these problems by endorsing the communication of application program having a good response time.
According to one aspect of the present invention, a communication method among at least one server machines for executing a server program, and a client machine for executing a client program, and at least one server candidate machine for executing the server program comprises:
(1) measuring a communication characteristic between the client machine and the server machine;
(2) comparing the measured communication characteristic with a pre-determined communication characteristic standard;
(3) selecting the server candidate machine, which is situated closer to the client machine than the server machine, if the measured communication characteristic is not up to the pre-determined communication characteristic standard;
(4) replicating at least a part of the server program from the server machine to the selected server candidate machine; and
(5) executing the replicated server program by the server candidate machine which has replicated at least a part of the server program.
According to another aspect of the present invention, the communication method includes the server candidate machine, which executes the server program, operating as the server machine.
According to another aspect of the present invention, the communication method further comprises:
synchronizing at least a part of the server program of the server candidate machine which is a replication destination program, and at least a part of the server program of the server machine which is a replication source program.
According to another aspect of the present invention, the communication method further comprises:
performing a data communication between the server machine and the server candidate machine via a communication mechanism suitable for a communication protocol;
accumulating a statistical information regarding the data communication;
judging whether a change of the communication protocol is necessary or not based on the statistical information; and
changing the communication protocol to a new communication protocol if it is judged that the change is necessary and changing the communication mechanism to a new communication mechanism suitable for the new communication protocol.
According to another aspect of the present invention, the communication method includes the server program having an interface for each kind of communication media that can be used by the client program. The communication method further comprises:
waiting for a communication request at the interface by the server program;
deciding a communication protocol based on the communication request if the server program have received the communication request; and
setting a data transfer control unit which corresponds to the communication protocol
According to another aspect of the present invention, the communication method includes the server machine having a server machine side redirect manager and the server candidate machine having a server candidate machine side redirect manager and a redirector. The communication method further comprises:
transmitting a message including an address of the server machine, an address of the client machine, and an address of the server candidate machine, from the client machine to the server machine;
receiving the message transmitted by the client machine, by the server machine side redirect manager;
transferring the message received by the server machine side redirect manager, to the server candidate machine based on the address of the server candidate machine which is included in the message;
receiving the message transferred by the server machine side redirect manager, by the server candidate machine side redirect manager; and
registering to the redirector the address of the server machine included in the message received, and the address of the client machine included in the message received, by the server candidate machine side redirect manager.
According to another aspect of the present invention, the communication method includes the synchronizing step which synchronizes automatically.
According to another aspect of the present invention, the communication method further comprises:
storing an information which indicates whether or not the server program of the server candidate machine should depend on the server program of the server machine as an attribute information of the server program of the server candidate machine. The communication method includes the server program of the server candidate machine operating independently if the attribute information indicates that the server program of the server candidate machine does not depend on the server program of the server machine.
According to another aspect of the present invention, the communication method includes the server machine being a plurality of server machines and the server candidate machine which is a plurality of server candidate machines. The communication method further comprises:
storing a position information of the plurality of server machines;
storing a position information of the plurality of server candidate machines;
searching a server machine which is close to a position of the client machine from among the plurality of server machines; and
searching a server candidate machine which is close to the client machine from among the plurality of server candidate machines.
According to another aspect of the present invention, the communication method further comprises:
transmitting a datagram message to the server program by the client program;
receiving the datagram message by the server program and returning the datagram message received immediately to the client program;
receiving the datagram message by the client program; and
measuring a response time from a transmission time and a reception time of the datagram message by the client program.
According to another aspect of the present invention, the communication method further comprises:
storing a status of a use of the server program, by the client program;
judging whether a continuation of an execution of the server program is necessary or not; and
stopping the execution of the server program if judged that the continuation is not necessary.
According to another aspect of the present invention, the communication method includes the client machine which can use a plurality of communication media. The communication method further comprises:
selecting an optimal communication media by the client program based on the response time.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.